/*
 * Copyright (c) 2010 Zauber S.A.  -- All rights reserved
 */
package ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.bitwise;

import java.util.List;

import ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.Expresion;
import ar.edu.itba.ia2010.geneticos.motor.api.sintaxistree.impl.AbstractExpresion;

/**
 * Clase base para terminales
 * 
 * @author Juan F. Codagnone
 * @since Mar 29, 2010
 */
public abstract class AbstractTerminalExpresion extends AbstractExpresion {

    /** @see Expresion#eval(boolean[]) */
    public final boolean eval(final boolean... vars) {
        throw new IllegalStateException("no se supone que esta funcion se evalue");
    }
    
    /** @see AbstractExpresion#clone(Expresion[]) */
    @Override
    protected final Expresion clone(final List<Expresion> childs) {
        return this;
    }

    /** @see Expresion#getSubExpresions() */
    public final int getSubExpresions() {
        return 0;
    }
}
